The following description relates to detecting and handling errors in a database.
Large volumes of customer data may be logged by a business, e.g., collected and stored in a database coupled to a computer system. For example, the data logged may relate to a consumer's use or purchase of a product (e.g., an electrical utility may collect and store energy consumption information from customers of the utility). During or after collection of the data, the data may be processed to determine customer billings, customer usage of a service, purchasing information, etc.
The customer data collected in the database may be processed by executing object-oriented programs (“objects”). Each object includes a definition of the data from the database that is described by the object. Each object may also include instructions (“logical sequences”) to manipulate the data included in the object. As an example, a “payment method A” billing object for an electric utility business typically defines data from the database that is to be included in a billing document. In this example, the utility company's billing object includes instructions that determine the peak power demand for each customer and generates a bill, for example, at $10/power unit if the demand is above a certain value, and otherwise generates a bill at $7/power unit. Following the execution of the billing object, an invoicing object may be executed to determine what each customer is required to pay by determining additions and/or subtractions for taxes, credits, rebates, etc. During execution of either the billing object or the invoicing object errors may be detected due to missing information in the database and/or improper object definitions (e.g., incorrect data information or instructions in an object). For example, the invoicing object may include instructions for a company, “company B” that has not been defined as having a “payment method A” billing object. Therefore, when executed, the invoicing object will generate an error message such as “Payment method A not available for company code B”.
In some cases, objects are associated with a particular business and referred to as “business objects”.